'\" te
.\"  Copyright 1989 AT&T
.\" Copyright (c) 1988 Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH RPC_XDR 3NSL "Dec 30, 1996"
.SH NAME
rpc_xdr, xdr_accepted_reply, xdr_authsys_parms, xdr_callhdr, xdr_callmsg,
xdr_opaque_auth, xdr_rejected_reply, xdr_replymsg \- XDR library routines for
remote procedure calls
.SH SYNOPSIS
.LP
.nf
\fBbool_t\fR \fBxdr_accepted_reply\fR(\fBXDR *\fR\fIxdrs\fR, \fBconst struct accepted_reply *\fR\fIar\fR);
.fi

.LP
.nf
\fBbool_t\fR \fBxdr_authsys_parms\fR(\fBXDR *\fR\fIxdrs\fR, \fBstruct authsys_parms *\fR\fIaupp\fR);
.fi

.LP
.nf
\fBvoid\fR \fBxdr_callhdr\fR(\fBXDR *\fR\fIxdrs\fR, \fBstruct rpc_msg *\fR\fIchdr\fR);
.fi

.LP
.nf
\fBbool_t\fR \fBxdr_callmsg\fR(\fBXDR *\fR\fIxdrs\fR, \fBstruct rpc_msg *\fR\fIcmsg\fR);
.fi

.LP
.nf
\fBbool_t\fR \fBxdr_opaque_auth\fR(\fBXDR *\fR\fIxdrs\fR, \fBstruct opaque_auth *\fR\fIap\fR);
.fi

.LP
.nf
\fBbool_t\fR \fBxdr_rejected_reply\fR(\fBXDR *\fR\fIxdrs\fR, \fB const struct rejected_reply *\fR\fIrr\fR);
.fi

.LP
.nf
\fBbool_t\fR \fBxdr_replymsg\fR(\fBXDR *\fR\fIxdrs\fR, \fBconst struct rpc_msg *\fR\fIrmsg\fR);
.fi

.SH DESCRIPTION
.sp
.LP
These routines are used for describing the \fBRPC\fR messages in \fBXDR\fR
language. They should normally be used by those who do not want to use the
\fBRPC\fR package directly. These routines return TRUE if they succeed, FALSE
otherwise.
.SS "Routines"
.sp
.LP
See \fBrpc\fR(3NSL) for the definition of the \fBXDR\fR data structure.
.sp
.in +2
.nf
 #include <rpc/rpc.h>
.fi
.in -2
.sp

.sp
.ne 2
.na
\fB\fBxdr_accepted_reply()\fR\fR
.ad
.RS 24n
Used to translate between \fBRPC\fR reply messages and their external
representation. It includes the status of the \fBRPC\fR call in the \fBXDR\fR
language format.  In the case of success, it also includes the call results.
.RE

.sp
.ne 2
.na
\fB\fBxdr_authsys_parms()\fR\fR
.ad
.RS 24n
Used for describing  \fBUNIX\fR operating system credentials. It includes
machine-name, uid, gid list, etc.
.RE

.sp
.ne 2
.na
\fB\fBxdr_callhdr()\fR\fR
.ad
.RS 24n
Used for describing \fBRPC\fR call header messages. It encodes the static part
of the call message header in the \fBXDR\fR language format. It includes
information such as transaction \fBID,\fR \fBRPC\fR version number, program and
version number.
.RE

.sp
.ne 2
.na
\fB\fBxdr_callmsg()\fR\fR
.ad
.RS 24n
Used for describing \fBRPC\fR call messages. This includes all the \fBRPC\fR
call information such as transaction \fBID,\fR \fBRPC\fR version number,
program number, version number, authentication information, etc. This is
normally used by servers to determine information about the client \fBRPC\fR
call.
.RE

.sp
.ne 2
.na
\fB\fBxdr_opaque_auth()\fR\fR
.ad
.RS 24n
Used for describing \fBRPC\fR opaque authentication information messages.
.RE

.sp
.ne 2
.na
\fB\fBxdr_rejected_reply()\fR\fR
.ad
.RS 24n
Used for describing \fBRPC\fR reply messages. It encodes the rejected \fBRPC\fR
message in the \fBXDR\fR language format. The message could be rejected either
because of version number mis-match or because of authentication errors.
.RE

.sp
.ne 2
.na
\fB\fBxdr_replymsg()\fR\fR
.ad
.RS 24n
Used for describing \fBRPC\fR reply messages. It translates between the
\fBRPC\fR reply message and its external representation. This reply could be
either an acceptance, rejection or \fINULL\fR.
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
MT-Level	Safe
.TE

.SH SEE ALSO
.sp
.LP
.BR rpc (3NSL),
.BR xdr (3NSL),
.BR attributes (7)
